数据链路层 Data Link Layer

数据链路层的两个子层

OSI 七层模型将数据链路层分为 LLC(Logical Link Control)和 MAC(Medium Access Control)两个子层。其分工如下图所示:
MAC 子层为 LLC 子层提供物理层的抽象,它会承担 包装帧、数据 检错和纠错碰撞解决 以及 传输信道解决 等等功能。

提供给网络层的服务

  • 无确认的无连接服务 Unaknowledged Connectless Services
    • 不会尝试对丢帧情况进行检查
    • 适用于错误率比较低的情况,如光纤
    • 适用于对即时通讯、直播等及即时性要求较高的情况
  • 有确认的无连接服务 Acknowledged Connectless Services
    • 需要发送的每一帧都单独确认,如果没有接收确认,就重发
    • 适用于不可靠信道,如无线系统
  • 有确认的面向连接的服务 Acknowledged Connect-Oriented Service
    • 在传输数据前,发送方和接收方建立一个连接,保证所有帧都按顺序无重复发送
    • 适用于长距离且不可靠的信道,如卫星通道、长途电话

成帧 Framing

成帧 Framing 的核心任务是设计一种方案使得接收方很容易找到每个帧的开始,从而将比特流还原成一个个帧;同时不能占用太多带宽。

检错与纠错 Error Control

纠错码

纠错码广泛运用于 无线链路。无线链路容易出错,如果没有纠错码很可能无法获得完全正确的信息。另外对于 单工信道 的情况,接收方如果检错到了错误也无法发回一个重发请求,也适用于纠错码。

汉明编码方法

  1. 列出表格,从左往右填入数字,2 的次方的位置不填
  2. 把数据行有 1 的位置写做二进制
  3. 将这些二进制进行异或 001101011011=1101
  4. 将异或的结果写入 2 的次方的位置
  5. 获得最终编码结果

检错码

光纤和高品质铜线的错误率较低,因此对偶现的错误进行检错和重传更加有效。

流量控制 Flow Control

单工协议

捎带确认 piggybacking

滑动窗口协议 Sliding Window Protocols

点对点传输协议

高级数据链路控制 HDLC

Flag Address Control Informantion FCS Flag
8 bits 8 or more bits 8 or 16 bits Variable length, 8×n bits 16 or 32 bits 8 bits

点对点协议 PPP

广播信道传输协议

ALOHA 在传输帧的时候,不会侦听 信道是否繁忙(区分于 CSMA);当发生碰撞(collision)时,冲突的信号源会选择等待一个随机长的时间再发送。

载波侦听多路访问 CSMA, Carrier Sense Multiple Acess

CSMA 在传输帧的时候,会 侦听信道 是否繁忙,但不同的种类有不同的监听策略。在此协议中,若存在冲突检测(CSMA/CD),则应该将一个站的发送时间间隔至少设置为 2t (假设两个最远的站传输所需时间为 t),若传输间隔小于该值,则无法确定出错的帧是哪一个。

载波侦听多路访问/碰撞检测 CSMA/CD, Carrier Sense Multiple Access with Collision Detection

载波侦听多路访问/碰撞避免 CSMA/CA, Carrier Sense Multiple Access with Collision Avoidance

无冲突协议 collision-free protocols

有限竞争协议 limited-contention protocols

局域网

以太网 Ethernet

IEEE 802.3

一种以太网标准,是于 1983 年,从先前的 DIX Standard 标准修订而来。它描述物理层和数据链路层的 MAC 子层的实现方法。

  • 基于基带总线形
  • 其帧结构如下图所示:

WLAN

WLAN:Wireless LAN,作为无线通信系统,相比有线传输系统有更多需要克服的问题,如传输范围限制、冲突检测等等。

IEEE 802.11

IEEE 802.11 是一个正在使用的无线通讯协议

  • 其在数据链路层使用了 CSMA/CA
  • 使用 802.11 系列协议的局域网又称 Wi-Fi
  • 拓扑结构使用星形拓扑
    • 星形拓扑的中心被称作接入点 Access Point / AP
  • 它同时支持如下特性
    1. Quality of Service:对于不同性质的信息,设置不同的侦听时间。
    2. Saving Power:为保证无线设备的续航,控制接收端和发送端的信息传输规则。
    3. Reliability:通过自动化地减少帧的长度,以提高拟合的谐波的数量,进而更加地抗干扰。
  • 其帧的结构如下图所示:
    • 当数据去往 AP 时,Address1=AP 地址,Address2=源地址,Address3=目标地址
    • 当数据从 AP 发出时,Address1=目标地址,Address2=AP 地址,Address3=源地址

VLAN

IEEE 802.1Q

为支持 VLAN 功能,IEEE 802.1Q 协议设计了一个新的帧结构:

广域网

网桥 Network bridge

网桥是一种网络设备,负责网络桥接(network bridging)。桥接器将网络的多个网段在数据链路层连接起来(即桥接)。

交换机 Switch

交换机(switch)是现代网桥的另一个称呼;它是交换式以太网的核心。现在的以太网交换机都是全双工、点对点的,因此冲突不可能发生,也不再需要 CSMA/CD 算法了。